home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / Graphic Elements 3 / GEMisc / NullGE.c < prev    next >
Text File  |  1994-03-25  |  1KB  |  48 lines

  1. /*
  2.     NullGE.c
  3.     
  4.     A "non-existent" Graphic Element.
  5.     
  6.     Two suggested uses:
  7.     
  8.     1) Can be used as an invisible "roll-over", with a CollisionProc
  9.        which, for example, does something to the colliding element or
  10.        reports to the application program.
  11.        
  12.     2) Can be slaved to a visible Graphic Element and assigned a
  13.        CollisionProc, for example to create a collision rectangle
  14.        which is different in size or location from that element's
  15.        animationRect.
  16.        
  17.     Copyright 1994 by Al Evans. All rights reserved.
  18.     
  19.     3/25/94
  20. */
  21.  
  22. #include "NullGE.h"
  23.  
  24. pascal void RenderNullElement(GrafElPtr element, GWorldPtr destGWorld)
  25. {
  26. #pragma unused(destGWorld, element)
  27.  
  28.     //For debugging, could do 
  29.     //FrameRect(&element->animationRect);
  30. }
  31.  
  32. GrafElPtr NewNullElement(GEWorldPtr world, OSType id, short plane, Rect *animRect)
  33. {
  34.     GrafElPtr    element;
  35.     
  36.     element = NewGrafElement(world, id, plane, sizeof(GrafElement), NoLoader, 0, 0);
  37.     if (element) {
  38.         element->animationRect = *animRect;
  39.         element->copyMode = 0;
  40.         element->flags = geShown;
  41.         element->renderIt = RenderNullElement;
  42.         element->drawIt = nil;
  43.         element->drawData = nil;    
  44.         element->changeIntrvl = 0;
  45.     }
  46.     return element;
  47. }
  48.